home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2003 November A / PCWK1103A.iso / Adobe After Effects 6.0 tryout / MM5.Cab / F3669_MPS.dll.304FA6F7_2783_11D4_8520_00C04F602FD3 / PROC / ADOBE_PATTERN_AI3 < prev    next >
Text File  |  2003-07-18  |  13KB  |  806 lines

  1. %%BeginResource: procset Adobe_pattern_AI3 2.0 0
  2. %%Title: (Universal Adobe Illustrator (R) Version 3.0 Pattern Operators)
  3. %%Version: 2.0 0
  4. %%CreationDate: (9/24/96) ()
  5. %%Copyright: ((C) 1987-1990 Adobe Systems Incorporated All Rights Reserved)
  6. currentpacking true setpacking
  7. userdict /Adobe_Illustrator_AI5 known not {
  8.     userdict /Adobe_Illustrator_AI5 90 dict put
  9. } if
  10. userdict /Adobe_Illustrator_AI5 get begin
  11. /@
  12. {
  13. } def
  14. /&
  15. {
  16. } def
  17. /dp
  18. {
  19.     dup null eq
  20.     {
  21.         pop
  22.         _dp 0 ne
  23.         {
  24.             0 1 _dp 1 sub _dl mod
  25.             {
  26.                 _da exch get 3 get
  27.             } for
  28.             _dp 1 sub _dl mod 1 add packedarray
  29.             _da 0 get aload pop 8 -1 roll 5 -1 roll pop 4 1 roll
  30.             definepattern pop
  31.         } if
  32.     }
  33.     {
  34.         _dp 0 ne _dp _dl mod 0 eq and
  35.         {
  36.             null dp
  37.         } if
  38.         7 packedarray _da exch _dp _dl mod exch put
  39.         _dp _dl mod _da 0 get 4 get 2 packedarray
  40.         /_dp _dp 1 add def
  41.     } ifelse
  42. } def
  43. /E
  44. {
  45.     _ed begin
  46.     dup 0 get type /arraytype ne
  47.     {
  48.         0
  49.         {
  50.             dup 1 add index type /arraytype eq
  51.             {
  52.                 1 add
  53.             }
  54.             {
  55.                 exit
  56.             } ifelse
  57.         } loop
  58.         array astore
  59.     } if
  60.     /_dd exch def
  61.     /_ury exch def
  62.     /_urx exch def
  63.     /_lly exch def
  64.     /_llx exch def
  65.     /_n exch def
  66.     /_y 0 def
  67.     /_dl 4 def
  68.     /_dp 0 def
  69.     /_da _dl array def
  70.     0 1 _dd length 1 sub
  71.     {
  72.         /_d exch _dd exch get def
  73.         0 2 _d length 2 sub
  74.         {
  75.             /_x exch def
  76.             /_c _d _x get _ ne def
  77.             /_r _d _x 1 add get cvlit def
  78.             _r _ ne
  79.             {
  80.                 _urx _llx sub _ury _lly sub
  81.                 [
  82.                 1 0 0 1 0 0
  83.                 ]
  84.                 [
  85.                 /save cvx
  86.                 _llx neg _lly neg /translate cvx
  87.                 _c
  88.                 {
  89.                     nc /begin cvx
  90.                 } if
  91.                 _r dup type /stringtype eq
  92.                 {
  93.                     cvx
  94.                 }
  95.                 {
  96.                     {
  97.                         exec
  98.                     } /forall cvx
  99.                 } ifelse
  100.                 _c
  101.                 {
  102.                     /end cvx
  103.                 } if
  104.                 /restore cvx
  105.                 ] cvx
  106.                 /_fn 12 _n length add string def
  107.                 _y _fn cvs pop
  108.                 /_y _y 1 add def
  109.                 _fn 12 _n putinterval
  110.                 _fn _c false dp
  111.                 _d exch _x 1 add exch put
  112.             } if
  113.         } for
  114.     } for
  115.     null dp
  116.     _n _dd /_pd
  117.  end
  118.     xput
  119. } def
  120. /fc
  121. {
  122.     _fm dup concatmatrix pop
  123. } def
  124. /p
  125. {
  126.     /_fm exch ddef
  127.     9 -2 roll _pm translate fc
  128.     7 -2 roll _pm scale fc
  129.     5 -1 roll _pm rotate fc
  130.     4 -2 roll exch 0 ne
  131.     {
  132.         dup _pm rotate fc
  133.         1 -1 _pm scale fc
  134.         neg _pm rotate fc
  135.     }
  136.     {
  137.         pop
  138.     } ifelse
  139.     dup _pm rotate fc
  140.     exch dup sin exch cos div 1 0 0 1 0 6 2 roll
  141.     _pm astore fc
  142.     neg _pm rotate fc
  143.     _pd exch get /_fdd exch ddef
  144.     /_pf
  145.     {
  146.         save
  147.         /_doClip 0 ddef
  148.         0 1 _fdd length 1 sub
  149.         {
  150.             /_fd exch _fdd exch get ddef
  151.             _fd
  152.             0 2 _fd length 2 sub
  153.             {
  154.                 gsave
  155.                 2 copy get dup _ ne
  156.                 {
  157.                     cvx exec _fc
  158.                 }
  159.                 {
  160.                     pop
  161.                 } ifelse
  162.                 2 copy 1 add get dup _ ne
  163.                 {
  164.                     aload pop findfont _fm
  165.                     patternfill
  166.                 }
  167.                 {
  168.                     pop
  169.                     fill
  170.                 } ifelse
  171.                 grestore
  172.                 pop
  173.             } for
  174.             pop
  175.         } for
  176.         restore
  177.         newpath
  178.     } ddef
  179.     /_psf
  180.     {
  181.         save
  182.         /_doClip 0 ddef
  183.         0 1 _fdd length 1 sub
  184.         {
  185.             /_fd exch _fdd exch get ddef
  186.             _fd
  187.             0 2 _fd length 2 sub
  188.             {
  189.                 gsave
  190.                 2 copy get dup _ ne
  191.                 {
  192.                     cvx exec _fc
  193.                 }
  194.                 {
  195.                     pop
  196.                 } ifelse
  197.                 2 copy 1 add get dup _ ne
  198.                 {
  199.                     aload pop findfont _fm
  200.                     9 copy 6 npop patternashow
  201.                 }
  202.                 {
  203.                     pop
  204.                     6 copy 3 npop ashow
  205.                 } ifelse
  206.                 grestore
  207.                 pop
  208.             } for
  209.             pop
  210.         } for
  211.         restore
  212.         sw rmoveto
  213.     } ddef
  214.     /_pjsf
  215.     {
  216.         save
  217.         /_doClip 0 ddef
  218.         0 1 _fdd length 1 sub
  219.         {
  220.             /_fd exch _fdd exch get ddef
  221.             _fd
  222.             0 2 _fd length 2 sub
  223.             {
  224.                 gsave
  225.                 2 copy get dup _ ne
  226.                 {
  227.                     cvx exec _fc
  228.                 }
  229.                 {
  230.                     pop
  231.                 } ifelse
  232.                 2 copy 1 add get dup _ ne
  233.                 {
  234.                     aload pop findfont _fm
  235.                     12 copy 6 npop patternawidthshow
  236.                 }
  237.                 {
  238.                     pop 9 copy 3 npop awidthshow
  239.                 } ifelse
  240.                 grestore
  241.                 pop
  242.             } for
  243.             pop
  244.         } for
  245.         restore
  246.         swj rmoveto
  247.     } ddef
  248.     /_lp /none ddef
  249. } def
  250. /sc
  251. {
  252.     _sm dup concatmatrix pop
  253. } def
  254. /P
  255. {
  256.     /_sm exch ddef
  257.     9 -2 roll _pm translate sc
  258.     7 -2 roll _pm scale sc
  259.     5 -1 roll _pm rotate sc
  260.     4 -2 roll exch 0 ne
  261.     {
  262.         dup _pm rotate sc
  263.         1 -1 _pm scale sc
  264.         neg _pm rotate sc
  265.     }
  266.     {
  267.         pop
  268.     } ifelse
  269.     dup _pm rotate sc
  270.     exch dup sin exch cos div 1 0 0 1 0 6 2 roll
  271.     _pm astore sc
  272.     neg _pm rotate sc
  273.     _pd exch get /_sdd exch ddef
  274.     /_ps
  275.     {
  276.         save
  277.         /_doClip 0 ddef
  278.         0 1 _sdd length 1 sub
  279.         {
  280.             /_sd exch _sdd exch get ddef
  281.             _sd
  282.             0 2 _sd length 2 sub
  283.             {
  284.                 gsave
  285.                 2 copy get dup _ ne
  286.                 {
  287.                     cvx exec _sc
  288.                 }
  289.                 {
  290.                     pop
  291.                 } ifelse
  292.                 2 copy 1 add get dup _ ne
  293.                 {
  294.                     aload pop findfont _sm
  295.                     patternstroke
  296.                 }
  297.                 {
  298.                     pop stroke
  299.                 } ifelse
  300.                 grestore
  301.                 pop
  302.             } for
  303.             pop
  304.         } for
  305.         restore
  306.         newpath
  307.     } ddef
  308.     /_pss
  309.     {
  310.         save
  311.         /_doClip 0 ddef
  312.         0 1 _sdd length 1 sub
  313.         {
  314.             /_sd exch _sdd exch get ddef
  315.             _sd
  316.             0 2 _sd length 2 sub
  317.             {
  318.                 gsave
  319.                 2 copy get dup _ ne
  320.                 {
  321.                     cvx exec _sc
  322.                 }
  323.                 {
  324.                     pop
  325.                 } ifelse
  326.                 2 copy 1 add get dup _ ne
  327.                 {
  328.                     aload pop findfont _sm
  329.                     10 copy 6 npop patternashowstroke
  330.                 }
  331.                 {
  332.                     pop 7 copy 3 npop ss
  333.                 } ifelse
  334.                 grestore
  335.                 pop
  336.             } for
  337.             pop
  338.         } for
  339.         restore
  340.         pop sw rmoveto
  341.     } ddef
  342.     /_pjss
  343.     {
  344.         save
  345.         /_doClip 0 ddef
  346.         0 1 _sdd length 1 sub
  347.         {
  348.             /_sd exch _sdd exch get ddef
  349.             _sd
  350.             0 2 _sd length 2 sub
  351.             {
  352.                 gsave
  353.                 2 copy get dup _ ne
  354.                 {
  355.                     cvx exec _sc
  356.                 }
  357.                 {
  358.                     pop
  359.                 } ifelse
  360.                 2 copy 1 add get dup _ ne
  361.                 {
  362.                     aload pop findfont _sm
  363.                     13 copy 6 npop patternawidthshowstroke
  364.                 }
  365.                 {
  366.                     pop 10 copy 3 npop jss
  367.                 } ifelse
  368.                 grestore
  369.                 pop
  370.             } for
  371.             pop
  372.         } for
  373.         restore
  374.         pop swj rmoveto
  375.     } ddef
  376.     /_lp /none ddef
  377. } def
  378. end
  379. userdict /Adobe_pattern_AI5 18 dict dup begin
  380. put
  381. /initialize
  382. {
  383.     pop pop
  384. } def
  385. /initialize2
  386. {
  387.     /definepattern where
  388.     {
  389.         pop
  390.     }
  391.     {
  392.      begin
  393.      begin
  394.         Adobe_pattern_AI5 begin
  395.         Adobe_pattern_AI5
  396.         {
  397.             dup xcheck
  398.             {
  399.                 bind
  400.             } if
  401.             pop pop
  402.         } forall
  403.         mark
  404.         cachestatus 7 1 roll pop pop pop pop exch pop exch
  405.         {
  406.             {
  407.                 10000 add
  408.                 dup 2 index gt
  409.                 {
  410.                     exit
  411.                 } if
  412.                 dup setcachelimit
  413.             } loop
  414.         } stopped
  415.         cleartomark
  416.      end     
  417.         
  418.      end
  419.      end
  420.         
  421.         Adobe_pattern_AI5 begin
  422.     } ifelse
  423. } def
  424. /terminate
  425. {
  426. } def
  427. /terminate2
  428. {
  429.     currentdict Adobe_pattern_AI5 eq
  430.     {
  431.      end
  432.     } if
  433. } def
  434. errordict
  435. /nocurrentpoint
  436. {
  437.     pop
  438.     stop
  439. } put
  440. errordict
  441. /invalidaccess
  442. {
  443.     pop
  444.     stop
  445. } put
  446. /patternencoding
  447. 256 array def
  448. 0 1 255
  449. {
  450.     patternencoding exch ( ) 2 copy exch 0 exch put cvn put
  451. } for
  452. /definepattern
  453. {
  454.     17 dict begin
  455.     /uniform exch def
  456.     /cache exch def
  457.     /key exch def
  458.     /procarray exch def
  459.     /mtx exch matrix invertmatrix def
  460.     /height exch def
  461.     /width exch def
  462.     /ctm matrix currentmatrix def
  463.     /ptm matrix def
  464.     /str 32 string def
  465.     /slice 9 dict def
  466.     slice /s 1 put
  467.     slice /q 256 procarray length div sqrt floor cvi put
  468.     slice /b 0 put
  469.     /FontBBox
  470.     [
  471.     0 0 0 0
  472.     ] def
  473.     /FontMatrix mtx matrix copy def
  474.     /Encoding patternencoding def
  475.     /FontType 3 def
  476.     /BuildChar
  477.     {
  478.         exch
  479.      begin
  480.         /setstrokeadjust where {pop true setstrokeadjust} if
  481.         slice begin
  482.         dup q dup mul mod s idiv /i exch def
  483.         dup q dup mul mod s mod /j exch def
  484.         q dup mul idiv procarray exch get
  485.         /xl j width s div mul def
  486.         /xg j 1 add width s div mul def
  487.         /yl i height s div mul def
  488.         /yg i 1 add height s div mul def
  489.         uniform
  490.         {
  491.             1 1
  492.         }
  493.         {
  494.             width 0 dtransform
  495.             dup mul exch dup mul add sqrt dup 1 add exch div
  496.             0 height dtransform
  497.             dup mul exch dup mul add sqrt dup 1 add exch div
  498.         } ifelse
  499.         width 0 cache
  500.         {
  501.             xl 4 index mul yl 4 index mul xg 6 index mul yg 6 index mul
  502.             setcachedevice
  503.         }
  504.         {
  505.             setcharwidth
  506.         } ifelse
  507.         gsave
  508.         scale
  509.         newpath
  510.         xl yl moveto
  511.         xg yl lineto
  512.         xg yg lineto
  513.         xl yg lineto
  514.         closepath
  515.         clip
  516.         newpath
  517.      end
  518.      end
  519.         exec
  520.         grestore
  521.     } def
  522.     key currentdict definefont
  523.  end
  524. } def
  525. /patterncachesize
  526. {
  527.     gsave
  528.     newpath
  529.     0 0 moveto
  530.     width 0 lineto
  531.     width height lineto
  532.     0 height lineto
  533.     closepath
  534.     patternmatrix setmatrix
  535.     pathbbox
  536.     exch ceiling 4 -1 roll floor sub 3 1 roll
  537.     ceiling exch floor sub
  538.     mul 1 add
  539.     grestore
  540. } def
  541. /patterncachelimit
  542. {
  543.     cachestatus 7 1 roll 6 npop 8 mul
  544. } def
  545. /patternpath
  546. {
  547.     exch dup begin
  548.     setfont
  549.     ctm setmatrix
  550.     concat
  551.     slice exch /b exch slice /q get dup mul mul put
  552.     FontMatrix concat
  553.     uniform
  554.     {
  555.         width 0 dtransform round width div exch round width div exch
  556.         0 height dtransform round height div exch height div exch
  557.         0 0 transform round exch round exch
  558.         ptm astore setmatrix
  559.     }
  560.     {
  561.         ptm currentmatrix pop
  562.     } ifelse
  563.     {
  564.         currentpoint
  565.     } stopped not
  566.     {
  567.         2 npop
  568.         pathbbox
  569.         true
  570.         4 index 3 index eq
  571.         4 index 3 index eq
  572.         and
  573.         {
  574.             pop false
  575.             {
  576.                 {
  577.                     2 npop
  578.                 }
  579.                 {
  580.                     3 npop true
  581.                 }
  582.                 {
  583.                     7 npop true
  584.                 }
  585.                 {
  586.                     pop true
  587.                 } pathforall
  588.             } stopped
  589.             {
  590.                 5 npop true
  591.             } if
  592.         } if
  593.         {
  594.             height div ceiling height mul 4 1 roll
  595.             width div ceiling width mul 4 1 roll
  596.             height div floor height mul 4 1 roll
  597.             width div floor width mul 4 1 roll
  598.             2 index sub height div ceiling cvi exch
  599.             3 index sub width div ceiling cvi exch
  600.             4 2 roll moveto
  601.             FontMatrix mtx invertmatrix
  602.             dup dup 4 get exch 5 get rmoveto
  603.             ptm ptm concatmatrix pop
  604.             slice /s
  605.             patterncachesize patterncachelimit div ceiling sqrt ceiling cvi
  606.             dup slice /q get gt
  607.             {
  608.                 pop slice /q get
  609.             } if
  610.             put
  611.             0 1 slice /s get dup mul 1 sub
  612.             {
  613.                 slice /b get add
  614.                 gsave
  615.                 0 1 str length 1 sub
  616.                 {
  617.                     str exch 2 index put
  618.                 } for
  619.                 pop
  620.                 dup
  621.                 {
  622.                     gsave
  623.                     ptm setmatrix
  624.                     1 index str length idiv
  625.                     {
  626.                         str show
  627.                     } repeat
  628.                     1 index str length mod str exch 0 exch getinterval show
  629.                     grestore
  630.                     0 height rmoveto
  631.                 } repeat
  632.                 grestore
  633.             } for
  634.             2 npop
  635.         }
  636.         {
  637.             4 npop
  638.         } ifelse
  639.     } if
  640.  end
  641. } def
  642. /patternclip
  643. {
  644.     _eo {eoclip} {clip} ifelse
  645. } def
  646. /patternstrokepath
  647. {
  648.     strokepath
  649. } def
  650. /patternmatrix
  651. matrix def
  652. /patternfill
  653. {
  654.     dup type /dicttype eq
  655.     {
  656.         Adobe_pattern_AI5 /patternmatrix get
  657.     } if
  658.     gsave
  659.     patternclip
  660.     Adobe_pattern_AI5 /patternpath get exec
  661.     grestore
  662.     newpath
  663. } def
  664. /patternstroke
  665. {
  666.     dup type /dicttype eq
  667.     {
  668.         Adobe_pattern_AI5 /patternmatrix get
  669.     } if
  670.     gsave
  671.     patternstrokepath
  672.     true
  673.     {
  674.         {
  675.             {
  676.                 newpath
  677.                 moveto
  678.             }
  679.             {
  680.                 lineto
  681.             }
  682.             {
  683.                 curveto
  684.             }
  685.             {
  686.                 closepath
  687.                 3 copy
  688.                 Adobe_pattern_AI5 /patternfill get exec
  689.             } pathforall
  690.             3 npop
  691.         } stopped
  692.         {
  693.             5 npop
  694.             patternclip
  695.             Adobe_pattern_AI5 /patternfill get exec
  696.         } if
  697.     }
  698.     {
  699.         patternclip
  700.         Adobe_pattern_AI5 /patternfill get exec
  701.     } ifelse
  702.     grestore
  703.     newpath
  704. } def
  705. /patternashow
  706. {
  707.     3 index type /dicttype eq
  708.     {
  709.         Adobe_pattern_AI5 /patternmatrix get 4 1 roll
  710.     } if
  711.     {
  712.         2 npop (0) exch
  713.         2 copy 0 exch put pop
  714.         gsave
  715.         false charpath currentpoint
  716.         6 index 6 index 6 index
  717.         Adobe_pattern_AI5 /patternfill get exec
  718.         grestore
  719.         newpath moveto
  720.         2 copy rmoveto
  721.     } exch cshow
  722.     5 npop
  723. } def
  724. /patternawidthshow
  725. {
  726.     6 index type /dicttype eq
  727.     {
  728.         Adobe_pattern_AI5 /patternmatrix get 7 1 roll
  729.     } if
  730.     {
  731.         2 npop (0) exch
  732.         2 copy 0 exch put
  733.         gsave
  734.         _sp eq
  735.         {
  736.             5 index 5 index rmoveto
  737.         } if
  738.         false charpath currentpoint
  739.         9 index 9 index 9 index
  740.         Adobe_pattern_AI5 /patternfill get exec
  741.         grestore
  742.         newpath moveto
  743.         2 copy rmoveto
  744.     } exch cshow
  745.     8 npop
  746. } def
  747. /patternashowstroke
  748. {
  749.     4 index type /dicttype eq
  750.     {
  751.         patternmatrix /patternmatrix get 5 1 roll
  752.     } if
  753.     4 1 roll
  754.     {
  755.         2 npop (0) exch
  756.         2 copy 0 exch put pop
  757.         gsave
  758.         false charpath
  759.         currentpoint
  760.         4 index setmatrix
  761.         7 index 7 index 7 index
  762.         Adobe_pattern_AI5 /patternstroke get exec
  763.         grestore
  764.         newpath moveto
  765.         2 copy rmoveto
  766.     } exch cshow
  767.     6 npop
  768. } def
  769. /patternawidthshowstroke
  770. {
  771.     7 index type /dicttype eq
  772.     {
  773.         patternmatrix /patternmatrix get 8 1 roll
  774.     } if
  775.     7 1 roll
  776.     {
  777.         2 npop (0) exch
  778.         2 copy 0 exch put
  779.         gsave
  780.         _sp eq
  781.         {
  782.             5 index 5 index rmoveto
  783.         } if
  784.         false charpath currentpoint
  785.         7 index setmatrix
  786.         10 index 10 index 10 index
  787.         Adobe_pattern_AI5 /patternstroke get exec
  788.         grestore
  789.         newpath moveto
  790.         2 copy rmoveto
  791.     } exch cshow
  792.     9 npop
  793. } def
  794. end
  795. setpacking
  796.  
  797. userdict /Adobe_pattern_AI3 known not
  798. {
  799.     userdict /Adobe_pattern_AI3 2 dict put 
  800. } if
  801. userdict /Adobe_pattern_AI3 get begin
  802. /initialize { } def
  803. /terminate { } def
  804. end
  805. %%EndResource
  806.